Serveur d'exploration sur la recherche en informatique en Lorraine

Attention, ce site est en cours de développement !
Attention, site généré par des moyens informatiques à partir de corpus bruts.
Les informations ne sont donc pas validées.

A Pattern-Matching Compiler

Identifieur interne : 009224 ( Main/Exploration ); précédent : 009223; suivant : 009225

A Pattern-Matching Compiler

Auteurs : Pierre-Etienne Moreau [France] ; Christophe Ringeissen [France] ; Marian Vittek [Slovaquie]

Source :

RBID : ISTEX:6CFE152082FB5B9CD017B2884ECC1E39BB950B1E

English descriptors

Abstract

Abstract: Implementation of a rule-based transformation engine consists of several tasks with various abstraction levels. We present a new tool called mtom for the efficient implementation of rule-based transformations. This engine should help to bridge the gap between rewriting implementations and practical applications. It aims at implementing well-identified parts of complex applications where the use of rewriting is natural or crucial. These parts are specified using rewrite rules and integrated with the rest of the application, which is kept in a classical imperative language such as C, C++ or Java. Our tool, which can be viewed as a Yacc-like pre-processor, does not depend on a given term representation, rather it accepts implementation of terms (or term like data-types) of yet existing applications and it permits to define and execute rewrite rules upon those types. From our experiences, this system is well-suited for industrial use as well as for implementations of rule-based languages. The paper introduces several features supported by mtom.

Url:
DOI: 10.1016/S1571-0661(04)80926-5


Affiliations:


Links toward previous steps (curation, corpus...)


Le document en format XML

<record>
<TEI wicri:istexFullTextTei="biblStruct">
<teiHeader>
<fileDesc>
<titleStmt>
<title>A Pattern-Matching Compiler</title>
<author>
<name sortKey="Moreau, Pierre Etienne" sort="Moreau, Pierre Etienne" uniqKey="Moreau P" first="Pierre-Etienne" last="Moreau">Pierre-Etienne Moreau</name>
</author>
<author>
<name sortKey="Ringeissen, Christophe" sort="Ringeissen, Christophe" uniqKey="Ringeissen C" first="Christophe" last="Ringeissen">Christophe Ringeissen</name>
</author>
<author>
<name sortKey="Vittek, Marian" sort="Vittek, Marian" uniqKey="Vittek M" first="Marian" last="Vittek">Marian Vittek</name>
</author>
</titleStmt>
<publicationStmt>
<idno type="wicri:source">ISTEX</idno>
<idno type="RBID">ISTEX:6CFE152082FB5B9CD017B2884ECC1E39BB950B1E</idno>
<date when="2001" year="2001">2001</date>
<idno type="doi">10.1016/S1571-0661(04)80926-5</idno>
<idno type="url">https://api.istex.fr/ark:/67375/6H6-X4Q61M9K-3/fulltext.pdf</idno>
<idno type="wicri:Area/Istex/Corpus">001939</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Corpus" wicri:corpus="ISTEX">001939</idno>
<idno type="wicri:Area/Istex/Curation">001920</idno>
<idno type="wicri:Area/Istex/Checkpoint">001D65</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Checkpoint">001D65</idno>
<idno type="wicri:doubleKey">1571-0661:2001:Moreau P:a:pattern:matching</idno>
<idno type="wicri:Area/Main/Merge">009745</idno>
<idno type="wicri:Area/Main/Curation">009224</idno>
<idno type="wicri:Area/Main/Exploration">009224</idno>
</publicationStmt>
<sourceDesc>
<biblStruct>
<analytic>
<title level="a">A Pattern-Matching Compiler</title>
<author>
<name sortKey="Moreau, Pierre Etienne" sort="Moreau, Pierre Etienne" uniqKey="Moreau P" first="Pierre-Etienne" last="Moreau">Pierre-Etienne Moreau</name>
<affiliation wicri:level="3">
<country xml:lang="fr">France</country>
<wicri:regionArea>LORIA-INRIA BP 239, 54506 Vandœuvre-lès-Nancy Cedex</wicri:regionArea>
<placeName>
<region type="region" nuts="2">Grand Est</region>
<region type="old region" nuts="2">Lorraine (région)</region>
<settlement type="city">Vandœuvre-lès-Nancy</settlement>
</placeName>
</affiliation>
<affiliation wicri:level="1">
<country wicri:rule="url">France</country>
</affiliation>
</author>
<author>
<name sortKey="Ringeissen, Christophe" sort="Ringeissen, Christophe" uniqKey="Ringeissen C" first="Christophe" last="Ringeissen">Christophe Ringeissen</name>
<affiliation wicri:level="3">
<country xml:lang="fr">France</country>
<wicri:regionArea>LORIA-INRIA BP 239, 54506 Vandœuvre-lès-Nancy Cedex</wicri:regionArea>
<placeName>
<region type="region" nuts="2">Grand Est</region>
<region type="old region" nuts="2">Lorraine (région)</region>
<settlement type="city">Vandœuvre-lès-Nancy</settlement>
</placeName>
</affiliation>
<affiliation wicri:level="1">
<country wicri:rule="url">France</country>
</affiliation>
</author>
<author>
<name sortKey="Vittek, Marian" sort="Vittek, Marian" uniqKey="Vittek M" first="Marian" last="Vittek">Marian Vittek</name>
<affiliation wicri:level="1">
<country xml:lang="fr">Slovaquie</country>
<wicri:regionArea>Institut of Informatica Mlynska dolina 842 15 Bratislava</wicri:regionArea>
</affiliation>
<affiliation wicri:level="1">
<country wicri:rule="url">Slovaquie</country>
</affiliation>
</author>
</analytic>
<monogr></monogr>
<series>
<title level="j">Electronic Notes in Theoretical Computer Science</title>
<title level="j" type="abbrev">ENTCS</title>
<idno type="ISSN">1571-0661</idno>
<imprint>
<publisher>ELSEVIER</publisher>
<date type="published" when="2001">2001</date>
<biblScope unit="volume">44</biblScope>
<biblScope unit="issue">2</biblScope>
<biblScope unit="page" from="161">161</biblScope>
<biblScope unit="page" to="180">180</biblScope>
</imprint>
<idno type="ISSN">1571-0661</idno>
</series>
</biblStruct>
</sourceDesc>
<seriesStmt>
<idno type="ISSN">1571-0661</idno>
</seriesStmt>
</fileDesc>
<profileDesc>
<textClass>
<keywords scheme="Teeft" xml:lang="en">
<term>Algorithm</term>
<term>Aterm</term>
<term>Complex applications</term>
<term>Computer science</term>
<term>Concrete syntax</term>
<term>Data conversion</term>
<term>Elan</term>
<term>Electronic notes</term>
<term>Equality test</term>
<term>Equational</term>
<term>Equational theory</term>
<term>Error message</term>
<term>Evaluation mechanism</term>
<term>Evaluation strategies</term>
<term>Function symbol</term>
<term>Function symbols</term>
<term>Functional programming</term>
<term>Functional programming languages</term>
<term>Goal language</term>
<term>Ground term</term>
<term>Hand side</term>
<term>Imperative languages</term>
<term>Industrial applications</term>
<term>Innermost</term>
<term>Innermost normalisation</term>
<term>Input term</term>
<term>Internal representation</term>
<term>Kirchner</term>
<term>Lecture notes</term>
<term>Memory management</term>
<term>Moreau</term>
<term>Mtom</term>
<term>Mtom tool</term>
<term>Natural numbers</term>
<term>Normal form</term>
<term>Normal forms</term>
<term>Normalisation</term>
<term>Normalising</term>
<term>Normalising term</term>
<term>Normalising term construction function</term>
<term>Normalising term construction functions</term>
<term>Other hand</term>
<term>Peano arithmetics</term>
<term>Peano integers</term>
<term>Practical applications</term>
<term>Prime numbers</term>
<term>Programming</term>
<term>Programming language</term>
<term>Programming languages</term>
<term>Return statement</term>
<term>Right hand side</term>
<term>Ringeissen</term>
<term>Rule return</term>
<term>Second argument</term>
<term>Second rule</term>
<term>Semantic</term>
<term>Semantic action</term>
<term>Semantic actions</term>
<term>Sortedintlist</term>
<term>Struct</term>
<term>Struct sortedintlist</term>
<term>Struct term</term>
<term>Struct term term</term>
<term>Subterm</term>
<term>Subterms</term>
<term>Temporary variables</term>
<term>Term construction function</term>
<term>Term construction functions</term>
<term>Term representation</term>
<term>Theoretical computer science</term>
<term>Type struct term</term>
<term>User</term>
<term>Vittek</term>
<term>Wrong design</term>
</keywords>
</textClass>
<langUsage>
<language ident="en">en</language>
</langUsage>
</profileDesc>
</teiHeader>
<front>
<div type="abstract" xml:lang="en">Abstract: Implementation of a rule-based transformation engine consists of several tasks with various abstraction levels. We present a new tool called mtom for the efficient implementation of rule-based transformations. This engine should help to bridge the gap between rewriting implementations and practical applications. It aims at implementing well-identified parts of complex applications where the use of rewriting is natural or crucial. These parts are specified using rewrite rules and integrated with the rest of the application, which is kept in a classical imperative language such as C, C++ or Java. Our tool, which can be viewed as a Yacc-like pre-processor, does not depend on a given term representation, rather it accepts implementation of terms (or term like data-types) of yet existing applications and it permits to define and execute rewrite rules upon those types. From our experiences, this system is well-suited for industrial use as well as for implementations of rule-based languages. The paper introduces several features supported by mtom.</div>
</front>
</TEI>
<affiliations>
<list>
<country>
<li>France</li>
<li>Slovaquie</li>
</country>
<region>
<li>Grand Est</li>
<li>Lorraine (région)</li>
</region>
<settlement>
<li>Vandœuvre-lès-Nancy</li>
</settlement>
</list>
<tree>
<country name="France">
<region name="Grand Est">
<name sortKey="Moreau, Pierre Etienne" sort="Moreau, Pierre Etienne" uniqKey="Moreau P" first="Pierre-Etienne" last="Moreau">Pierre-Etienne Moreau</name>
</region>
<name sortKey="Moreau, Pierre Etienne" sort="Moreau, Pierre Etienne" uniqKey="Moreau P" first="Pierre-Etienne" last="Moreau">Pierre-Etienne Moreau</name>
<name sortKey="Ringeissen, Christophe" sort="Ringeissen, Christophe" uniqKey="Ringeissen C" first="Christophe" last="Ringeissen">Christophe Ringeissen</name>
<name sortKey="Ringeissen, Christophe" sort="Ringeissen, Christophe" uniqKey="Ringeissen C" first="Christophe" last="Ringeissen">Christophe Ringeissen</name>
</country>
<country name="Slovaquie">
<noRegion>
<name sortKey="Vittek, Marian" sort="Vittek, Marian" uniqKey="Vittek M" first="Marian" last="Vittek">Marian Vittek</name>
</noRegion>
<name sortKey="Vittek, Marian" sort="Vittek, Marian" uniqKey="Vittek M" first="Marian" last="Vittek">Marian Vittek</name>
</country>
</tree>
</affiliations>
</record>

Pour manipuler ce document sous Unix (Dilib)

EXPLOR_STEP=$WICRI_ROOT/Wicri/Lorraine/explor/InforLorV4/Data/Main/Exploration
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 009224 | SxmlIndent | more

Ou

HfdSelect -h $EXPLOR_AREA/Data/Main/Exploration/biblio.hfd -nk 009224 | SxmlIndent | more

Pour mettre un lien sur cette page dans le réseau Wicri

{{Explor lien
   |wiki=    Wicri/Lorraine
   |area=    InforLorV4
   |flux=    Main
   |étape=   Exploration
   |type=    RBID
   |clé=     ISTEX:6CFE152082FB5B9CD017B2884ECC1E39BB950B1E
   |texte=   A Pattern-Matching Compiler
}}

Wicri

This area was generated with Dilib version V0.6.33.
Data generation: Mon Jun 10 21:56:28 2019. Site generation: Fri Feb 25 15:29:27 2022